import {
	getUserIdentity
} from "./utils";

// 开发阶段使用数据
const defaultData = {}

export function getUserinfo() {
	try {
		const {
			userInfo
		} = getCacheScheduling()
		return userInfo
	} catch (error) {
		console.error('Error:', error);
		return defaultData;
	}
}

// 获取token
export function getToken() {
	const {
		token
	} = getCacheScheduling()
	return token
}

// 用户缓存调度器
// 根据登录角色 获取不同的缓存数据
export function getCacheScheduling() {
	let token = '';
	let userInfo = null;
	// 获取用户进入的页面状态
	const identity = getUserIdentity()
	if (!identity) {
		return {
			token,
			userInfo
		};
	}

	// 根据不同的角色
	switch (identity.role) {
		case 'logisticsCompany':
			const logisticsCompanyData = uni.getStorageSync('LOGISTICE_COMPANY');
			if (logisticsCompanyData) {
				userInfo = JSON.parse(logisticsCompanyData);
			}
			break;
		case 'driver':
			const driverData = uni.getStorageSync('LOGISTICE_DRIVER');
			if (driverData) {
				userInfo = JSON.parse(driverData);
			}
			break;
		case 'yuShuo':
			const yuShuoData = uni.getStorageSync('LOGISTICE_YUSHUO');
			if (yuShuoData) {
				userInfo = JSON.parse(yuShuoData);
			}
			break;
		default:
			break;
	}

	// 如果 userInfo 存在且具有 token 属性，则取出 token
	if (userInfo && userInfo.token) {
		token = userInfo.token;
	}

	return {
		token,
		userInfo
	};
}

// 删除
export function removeUserinfo() {
	uni.clearStorageSync();
	uni.clearStorage()
}